'''
@Project ：my_python_project 
@File    ：yield表达式p1.py
@IDE     ：PyCharm 
@Author  ：xionglinhui
@Date    ：2024/8/20 上午9:20 
'''
def dog(name):
    print('道哥%s准备吃东西啦...' %name)
    while True:
        # x拿到的是yield接收到的值
        x = yield # x = '肉包子'
        print('道哥%s吃了 %s' %(name,x))


g=dog('alex') # 函数里有yield，所以这里的dog('alex')不是调用函数，而是返回了一个生成器对象
print(g)    # 输出：<generator object dog at 0x7fb5fd4525e8>。得到了一个迭代器对象，也叫做生成器对象

g.__next__()
next(g)
g.send('包子')

# g.send(None) #  等同于next(g)
#
# g.send(['一根骨头','aaa'])
# # g.send('肉包子')
# # g.send('一同泔水')
# # g.close()
# # g.send('1111') # 关闭之后无法传值